package com.hs.srm.admin.modules.abnormalquality.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * 品质异常单实体类
 *
 * @author ych
 * @since 2020-04-07 15:02:27
 */
@Setter
@Getter
@TableName("abnormal_quality")
public class AbnormalQualityEntity implements Serializable {

    private static final long serialVersionUID = 938967230305587322L;

    /**
     * 通过
     */
    public static final Integer TG = 2;

    /**
     * 驳回
     */
    public static final Integer BH = -1;

    /**
     * 审核中
     */
    public static final Integer SHZ = 1;

    /**
     * 品质异常单 id
     */
    @TableId(value = "pk_id", type = IdType.UUID)
    @TableField("pk_id")
    private String pkId;

    /**
     * 表单编号
     */
    @TableField("form_code")
    private String formCode;

    /**
     * 供应商编码
     */
    @TableField("vendor_code")
    private String vendorCode;

    /**
     * 供应商名称
     */
    @TableField("vendor_name")
    private String vendorName;

    /**
     * 物料编码
     */
    @TableField("material_code")
    private String materialCode;

    /**
     * 物料描述
     */
    @TableField("material_desc")
    private String materialDesc;

    /**
     * 发文者
     */
    @TableField("submit")
    private String submit;

    /**
     * 发文日期
     */
    @TableField("submit_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date submitDate;

    /**
     * 采购组
     */
    @TableField("cgz")
    private String cgz;

    /**
     * 小组成员
     */
    @TableField("team_member")
    private String teamMember;

    /**
     * 组长
     */
    @TableField("team_leader")
    private String teamLeader;

    /**
     * 问题点描述
     */
    @TableField("description")
    private String description;

    /**
     * SQE上传附件
     */
    @TableField("sqe_attach")
    private String sqeAttach;

    /**
     * 收货日期
     */
    @TableField("receive_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date receiveDate;

    /**
     * 采购凭证
     */
    @TableField("purchase_voucher")
    private String purchaseVoucher;

    /**
     * 供应商批次
     */
    @TableField("vendor_batch")
    private String vendorBatch;

    /**
     * 厚声批次
     */
    @TableField("hs_batch")
    private String hsBatch;

    /**
     * 缺陷项目
     */
    @TableField("defective_item")
    private String defectiveItem;

    /**
     * 缺陷分类
     */
    @TableField("detective_sort")
    private String detectiveSort;

    /**
     * 不良率
     */
    @TableField("defect_rate")
    private String defectRate;

    /**
     * 不良数量
     */
    @TableField("defect_number")
    private String defectNumber;

    /**
     * 进料数量
     */
    @TableField("feed_number")
    private String feedNumber;

    /**
     * 处理要求
     */
    @TableField("process_demand")
    private String processDemand;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 要求
     */
    @TableField("require")
    private String require;

    /**
     * 供应商上传附件
     */
    @TableField("vendor_attach")
    private String vendorAttach;

    /**
     * 原因分析
     */
    @TableField("d3_analyze")
    private String d3Analyze;

    /**
     * 要求完成日期
     */
    @TableField("d3_demand_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d3DemandDate;

    /**
     * 实际完成日期
     */
    @TableField("d3_real_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d3RealDate;

    /**
     * 负责人
     */
    @TableField("d3_fzr")
    private String d3Fzr;

    /**
     * 不良品外流原因
     */
    @TableField("d4_outflow")
    private String d4Outflow;

    /**
     * 要求完成日期
     */
    @TableField("d4_demand_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d4DemandDate;

    /**
     * 实际完成日期
     */
    @TableField("d4_real_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d4RealDate;

    /**
     * 负责人
     */
    @TableField("d4_fzr")
    private String d4Fzr;

    /**
     * 短期对策
     */
    @TableField("d5_curr_plan")
    private String d5CurrPlan;

    /**
     * 要求完成日期
     */
    @TableField("d5_demand_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d5DemandDate;

    /**
     * 实际完成日期
     */
    @TableField("d5_real_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d5RealDate;

    /**
     * 负责人
     */
    @TableField("d5_fzr")
    private String d5Fzr;

    /**
     * 长期对策
     */
    @TableField("d6_long_plan")
    private String d6LongPlan;

    /**
     * 要求完成日期
     */
    @TableField("d6_demand_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d6DemandDate;

    /**
     * 实际完成日期
     */
    @TableField("d6_real_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d6RealDate;

    /**
     * 负责人
     */
    @TableField("d6_fzr")
    private String d6Fzr;

    /**
     * 改善效果追踪
     */
    @TableField("d7_result_track")
    private String d7ResultTrack;

    /**
     * 计划完成日期
     */
    @TableField("d7_plan_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d7PlanDate;

    /**
     * 实际完成日期
     */
    @TableField("d7_real_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d7RealDate;

    /**
     * QE主管
     */
    @TableField("d7_director")
    private String d7Director;

    /**
     * 标准化作业/培训
     */
    @TableField("d8_standard_work")
    private String d8StandardWork;

    /**
     * 计划完成日期
     */
    @TableField("d8_plan_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d8PlanDate;

    /**
     * 实际完成日期
     */
    @TableField("d8_real_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date d8RealDate;

    /**
     * QE主管
     */
    @TableField("d8_director")
    private String d8Director;

    /**
     * 审核结果:0，待提交；1，审核中；2，审核通过；-1，审核驳回
     */
    @TableField("audit_result")
    private Integer auditResult;

    /**
     * 审核备注，用于驳回时填写原因
     */
    @TableField("audit_comment")
    private String auditComment;

    /**
     * 创建时间
     */
    @TableField("create_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date createDate;

    /**
     * 创建人
     */
    @TableField("creator")
    private String creator;

}